home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1995 May / PC Answers CD-ROM 7 (Future Publishing) (May 1995).iso / vbits / code / cert / trk3_eg / fmdrgdrp / opt2 / invent.exe / OBROWSE.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1993-08-20  |  6.2 KB  |  181 lines

  1. VERSION 2.00
  2. Begin Form OBrowseForm 
  3.    Caption         =   "Form1"
  4.    ClientHeight    =   2565
  5.    ClientLeft      =   1935
  6.    ClientTop       =   1965
  7.    ClientWidth     =   5040
  8.    Height          =   2970
  9.    HelpContextID   =   104
  10.    Icon            =   OBROWSE.FRX:0000
  11.    Left            =   1875
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MDIChild        =   -1  'True
  15.    ScaleHeight     =   2565
  16.    ScaleWidth      =   5040
  17.    Top             =   1620
  18.    Width           =   5160
  19.    Begin Data Data1 
  20.       Caption         =   "Data1"
  21.       Connect         =   ""
  22.       DatabaseName    =   ""
  23.       Exclusive       =   0   'False
  24.       Height          =   270
  25.       Left            =   240
  26.       Options         =   0
  27.       ReadOnly        =   0   'False
  28.       RecordSource    =   ""
  29.       Top             =   1680
  30.       Visible         =   0   'False
  31.       Width           =   1455
  32.    End
  33.    Begin TgDemo OBrowseTable 
  34.       BackColor       =   &H00C0C0C0&
  35.       BorderStyle     =   0  'None
  36.       Configurable    =   0   'False
  37.       DataSource      =   "Data1"
  38.       Editable        =   -1  'True
  39.       EditBackColor   =   &H8000000D&
  40.       EditForeColor   =   &H8000000E&
  41.       FetchMode       =   0  'By cell
  42.       FontBold        =   0   'False
  43.       FontItalic      =   0   'False
  44.       FontName        =   "MS Sans Serif"
  45.       FontSize        =   8.25
  46.       FontStrikethru  =   0   'False
  47.       FontUnderline   =   0   'False
  48.       HeadBackColor   =   &H80000002&
  49.       HeadForeColor   =   &H80000009&
  50.       Headings        =   -1  'True
  51.       Height          =   1575
  52.       HorzColor       =   &H00808080&
  53.       HorzLines       =   2  '3D
  54.       InactiveBackColor=   &H00808080&
  55.       InactiveForeColor=   &H00000000&
  56.       Layout          =   OBROWSE.FRX:0302
  57.       Left            =   0
  58.       MarqueeStyle    =   3  'Highlight Row
  59.       SelectedBackColor=   &H00000000&
  60.       SelectedForeColor=   &H00FFFFFF&
  61.       SelectMode      =   0  'Disabled
  62.       TabIndex        =   0
  63.       Top             =   0
  64.       UseBookmarks    =   -1  'True
  65.       VertColor       =   &H00808080&
  66.       VertLines       =   2  '3D
  67.       Width           =   4575
  68.    End
  69. ' Local variables for OBROWSE instance
  70. Dim FormIndex As Integer
  71. Dim ourset As Dynaset
  72. Dim WidthDelta As Integer
  73. Sub DeleteOrder ()
  74.     ' Delete the current order
  75.     msg$ = "Delete order " & ourset("OrderNo") & " and all of its items?"
  76.     If MsgBox(msg$, MB_ICONEXCLAMATION Or MB_OKCANCEL) <> IDOK Then Exit Sub
  77.     ' Remove any hiding detail records first
  78.     tbname$ = OBrowseFormItems(FormIndex).fiTable
  79.     x$ = "DELETE FROM [" & tbname$ & "] WHERE IsDetail AND OrderNo = " & ourset("OrderNo")
  80.     Data1.Database.Execute x$
  81.     On Error GoTo haschanged
  82.     ourset.Delete       ' remove current record
  83.     Exit Sub
  84. haschanged: ' ignore data changed warning, if present
  85.     ourset.Delete
  86.     Exit Sub
  87. End Sub
  88. Sub Form_Activate ()
  89.     Data1.Refresh
  90. End Sub
  91. Sub Form_Load ()
  92.     ' Keep track of the difference between inside
  93.     ' and outside dimensions.
  94.     WidthDelta = Me.Width - Me.ScaleWidth
  95.     ' Capture information which was stored in OBrowseOpen
  96.     ' in the OBROWSE.BAS module
  97.     FormIndex = FormLastAlloc()
  98.     Me.Tag = FormIndex
  99.     OBrowseTable.Tag = FormIndex
  100.     Data1.DatabaseName = OBrowseFormItems(FormIndex).fiFileName
  101.     tbname$ = OBrowseFormItems(FormIndex).fiTable
  102.     Data1.RecordSource = "SELECT * FROM [" & tbname$ & "] WHERE NOT IsDetail"
  103.     Data1.Refresh
  104.     Set ourset = Data1.Recordset
  105. End Sub
  106. Sub Form_Resize ()
  107.     ' Constrain our width
  108.     If Me.WindowState = NORMAL Then
  109.         Me.Width = OBrowseTable.Width + WidthDelta
  110.         OBrowseTable.Height = Me.ScaleHeight
  111.     End If
  112. End Sub
  113. Sub Form_Unload (Cancel As Integer)
  114.     Data1.Recordset.Close
  115.     FormFree OBrowseFormItems(FormIndex)
  116. End Sub
  117. Function OBrowseNextOrder () As Long
  118.     ' Use 100, or the last order + 1 for the order number
  119.     If ourset.RecordCount = 0 Then
  120.         OBrowseNextOrder = 100
  121.     Else
  122.         ourset.MoveLast
  123.         OBrowseNextOrder = ourset("OrderNo") + 1
  124.     End If
  125. End Function
  126. Sub OBrowseTable_Append ()
  127.     ' Append a new record, and make up an order number
  128.     ' by fetching the last record.
  129.     ordno& = OBrowseNextOrder()
  130.     ourset.AddNew
  131.     ourset("CustName") = "New..."
  132.     ourset("OrderNo") = ordno&
  133.     ourset.Update
  134.     ourset.MoveLast
  135. End Sub
  136. Sub OBrowseTable_DragDrop (Source As Control, x As Single, Y As Single)
  137.     ' Dropping a customer into an order browser creates
  138.     ' a new order.
  139.     If EndDragMode(MASK_CUST) Then
  140.         ordno& = OBrowseNextOrder()
  141.         ourset.AddNew
  142.         ourset("CustNo") = Source.ColumnText(1)
  143.         ourset("CustName") = Source.ColumnText(2)
  144.         ourset("OrderNo") = ordno&
  145.         ourset("OrderDate") = Format$(Now, "Short Date")
  146.         ourset("IsDetail") = False
  147.         ourset.Update
  148.         ourset.MoveLast
  149.         OBrowseTable.SetFocus
  150.     End If
  151. End Sub
  152. Sub OBrowseTable_DragOver (Source As Control, x As Single, Y As Single, State As Integer)
  153.     valid% = DragValid(Source, MASK_CUST, State)
  154. End Sub
  155. Sub OBrowseTable_GotFocus ()
  156.     OBrowseTable.RefreshRow = 0
  157.     SetStatus "Orders - drag out to edit; drag customers in for a new order"
  158. End Sub
  159. Sub OBrowseTable_KeyPress (KeyAscii As Integer)
  160.     ' Escape discards changes
  161.     If KeyAscii = 27 Then Data1.UpdateControls
  162. End Sub
  163. Sub OBrowseTable_KeyUp (KeyCode As Integer, Shift As Integer)
  164.     ' F2 Updates, DEL removes the order
  165.     If KeyCode = KEY_F2 Then Data1.Recordset.Update
  166.     If KeyCode = KEY_DELETE Then
  167.         If OBrowseTable.HwndEdit = 0 Then
  168.             DeleteOrder
  169.         End If
  170.     End If
  171. End Sub
  172. Sub OBrowseTable_LostFocus ()
  173.     Data1.Recordset.Update
  174. End Sub
  175. Sub OBrowseTable_MouseDown (Button As Integer, Shift As Integer, x As Single, Y As Single)
  176.     GridMaybeDrag OBrowseTable, x, Y
  177. End Sub
  178. Sub OBrowseTable_MouseMove (Button As Integer, Shift As Integer, x As Single, Y As Single)
  179.     GridTestDrag OBrowseTable, Button, x, Y, MASK_OBROWSE, Utils.DragOrder
  180. End Sub
  181.